// 1. 导入axios
import axios from "axios";

import store from "../store";
import router from "../router"

//创建axios的对象
const  Server = axios.create({
    //请求接口的基准地址
    baseURL:"https://toutiao.m.lipengzhou.com/api/app",
    timeout:5000,
});

//配置请求拦截器
Server.interceptors.request.use((config)=>{
    console.log('触发请求拦截器');

    //从vuex中把数据提取出来
    let {users} = store.state;
    //给header添加token值
    if(users && users.token){
        config.headers.authorization = `Bearer ${users.token}`;
    }

    return config;//axios配置信息
},(error)=>{
    return Promise.reject(error);
})


//配置相应拦截器
Server.interceptors.response.use((response)=>{

    console.log(response);
    //200的状态请求成功，获取data数据
    return response.data;
},(error)=>{
    console.log(error.response.status);
    if(error.response.status == 401){
        // 退出登陆，
        store.commit("logout");
        //跳转到登陆页面即可
        router.push('/login');
    }
    return Promise.reject(error);
})

//抛出对象
export default Server;